1. Field of the Invention
The present invention relates to a program and apparatus which display graphical objects moving in a three-dimensional virtual space, and more particularly to a program and apparatus which draw and display graphical objects whose distance from an eye point is varied.
2. Description of the Related Art
There are simulation systems that reproduce a city street or other environment within a computer system by arranging many graphical objects in a three-dimensional virtual space. The computer calculates perspective projection views of those objects in reference to a given eye point in the created virtual environment, thereby displaying realistic images on its monitor screen. Some applications involve animated motions in a three-dimensional environment. More specifically, motion pictures are created by varying the eye point location and line of sight according to the instructions from an operator.
Motion video is a time series of discrete pictures, meaning that the computer has to produce an updated picture at predetermined intervals. Typical video monitors operate at a refreshing rate of 60 frames per second, in which case the computer should generate an image of every object images within a sixtieth second. Redrawing many objects in such a short period could be a heavy burden to the computer. In some critical situations (depending on the number of objects to be drawn and the complexity of each object), the computer may fail to handle all objects within a required time.
Researchers have proposed several methods to alleviate such processing workloads in the process of video frame generation. One simplest and widely-used way to achieve this is such that graphical objects are not drawn when they look small in the picture being produced. The disadvantage of this method is that a transition of an object from visible state to invisible state occurs suddenly. This discontinuity would be perceived by the audience as an unnatural effect on a video screen that they are watching.
One method to address the above problem is to draw an object not necessarily in full detail, but in a simplified shape, depending on the size of its projected image. This geometrical simplification is gradually applied to an object disappearing from sight. Besides alleviating the computer's processing loads, the method reduces the undesired effect stated above. FIG. 19 shows an example of such a conventional graphic representation technique which varies the resolution of an object in a stepwise manner.
Shown in FIG. 19 are three geometry models representing the same object with different resolutions. The left-most shape in FIG. 19 depicts the original geometry data 301, which contains every detail of the object. The next shape represents “level-1 geometry model” 302 which is close to the original geometry data 301, but lacks some details. The right-most shape shows “level-2 geometry model” 303 which is coarser than the level-1 geometry model 302.
More specifically, the original geometry model 301 has some fine features including a curved surface. This model 301 is subjected to the image drawing process when the object is located close to the current eye point. The level-1 geometry model 302 represents the object as a combination of simple boxes, every surface of which is flat. Because the curved surface is eliminated, this level-1 geometry model 302 only requires a smaller amount of computation than the original geometry data 301 when the computer produces the image of the object. This model 302 is used when the object is relatively distant from the eye point. The level-2 geometry model 303 is a single box. Compared to the level-1 geometry model 302, this level-2 geometry model 303 is easier to draw, because the number of surfaces is reduced to six. This most simplified model 303 is used when the object is far from the eye point.
As illustrated in FIG. 19, the system stores a plurality of geometry models representing the same object with different resolutions, so that an appropriate model will be selected according to the distance between the current eye point and the object of interest. As the object moves away from the eye point, the system switches the model to a coarser one, thereby alleviating the processing workload to produce a new frame picture within a limited period.
The above-described variable resolution method would serve the purpose effectively in such applications as video games in which the geometry data of graphical objects are previously defined and fixed. However, the method is not suitable for CAD applications, for example, because geometry data is so frequently changed in the course of design engineering that it is not easy to prepare different versions of geometry data each time an object is modified. Take a design engineering process of buildings, for example. In this process, an architect creates a model and checks their appearance in a three-dimensional virtual city environment. The detailed design of the buildings are always subject to change, but it is not efficient for him/her to recreate additional versions of building objects each time he/she modifies the design.